<script>
	export default {
		onLaunch: function() {
			// #ifdef APP-PLUS
			plus.screen.lockOrientation('portrait-primary');
			// #endif

			// let url = 'http://hzserver.ywhzsoft.com:8888/update/ScPadUpdate/04712/Update.txt' // 更新地址
			let url = uni.getStorageSync(`updateUrl`) ? uni.getStorageSync(`updateUrl`) + '.txt' : '' // 更新地址

			uni.request({
				url,
				method: 'GET',
				dataType: 'json',
				success: (r) => {
					console.log('== r ', r)
					let Version = uni.getStorageSync('bbh') == '' ? r.data.Version : uni.getStorageSync('bbh')
					if (!uni.getStorageSync('bbh')) {
						uni.setStorageSync('bbh', r.data.Version)
					}
					console.log(Version, r.data.Version, 'sss', !!r.data.Version && Version != r.data.Version)
					if (!!r.data.Version && Version != r.data.Version) {
						uni.showModal({
							content: '有新的版本发布，点击确定后不要退出,程序将启动自动更新。新版本下载完成后将自动弹出安装程序。',
							showCancel: false,
							success: function(res) {
								if (res.confirm) {
									dtask.start();
									var prg = 0;
									var showLoading = plus.nativeUI.showWaiting("正在下载");
									dtask.addEventListener('statechanged', function(task,
										status) { //添加下载任务事件监听器
										// 给下载任务设置一个监听 并根据状态 做操作
										switch (task.state) {
											case 1:
												showLoading.setTitle("正在下载");
												break;
											case 2:
												showLoading.setTitle("已连接到服务器");
												break;
											case 3:
												prg = parseInt( //下载的进度
													(parseFloat(task
															.downloadedSize) /
														parseFloat(task.totalSize)
														) * 100
												);
												showLoading.setTitle("版本更新,正在下载" + prg + "% ");
												break;
											case 4:
									   plus.nativeUI.closeWaiting(); //关闭系统提示框
												//下载完成
												break;
										}
									});
								}
							}
						});
						var dtask = plus.downloader.createDownload(r.data.url, {
							force: true
						}, function(d,status) {
							// 下载完成    
							if (status == 200) {
								plus.runtime.install(plus.io.convertLocalFileSystemURL(d
									.filename), {},
									function(fileEntry) {
										//this.Version = r.data.Version
										uni.setStorageSync('bbh', r.data.Version)
									},
									function(error) {
										uni.showToast({
											title: '安装失败',
											mask: false,
											duration: 1500
										});
									})
							} else {
								uni.showToast({
									title: '更新失败',
									mask: false,
									duration: 1500
								});
							}
						});
					} else {
			
					}
			
			
				}
			})
		},
		onShow: function() {
			// console.log('App Show')
		},
		onHide: function() {
			// console.log('App Hide')
		}
	}
</script>

<style>
	/*每个页面公共css */
	@import "static/icon/iconfont.css";
</style>
